package com.huashi.dealer.commonEntity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 商品分类模型类
 * 对应PHP的Category.php
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("yoshop_category")
@Schema(description = "商品分类实体")
public class Category extends BaseModel {

    /**
     * 分类ID
     */
    @TableId(value = "category_id", type = IdType.AUTO)
    @Schema(description = "分类ID")
    private Long categoryId;

    /**
     * 分类名称
     */
    @TableField("name")
    @Schema(description = "分类名称")
    private String name;

    /**
     * 父级分类ID
     */
    @TableField("parent_id")
    @Schema(description = "父级分类ID")
    private Long parentId;

    /**
     * 分类图片ID
     */
    @TableField("image_id")
    @Schema(description = "分类图片ID")
    private Long imageId;

    /**
     * 分类排序
     */
    @TableField("sort")
    @Schema(description = "分类排序")
    private Integer sort;


    /**
     * 分类类型
     */
    @TableField("is_type")
    @Schema(description = "分类类型(10商品分类，20赠品分类)")
    private Integer isType;

    /**
     * 商品类型
     */
    @TableField("is_goods_type")
    @Schema(description = "商品类型（10普通，10返利商品，20核销商品）")
    private Integer isGoodsType;

    /**
     * 创建时间
     */
    @TableField("create_time")
    @Schema(description = "创建时间")
    private Long createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    @Schema(description = "更新时间")
    private Long updateTime;

    /**
     * 子分类
     */
    @TableField(exist = false)
    @Schema(description = "子分类")
    private List<Category> children;

    /**
     * 获取子分类
     */
    public List<Category> getChildren() {
        return children;
    }

    /**
     * 设置子分类
     */
    public void setChildren(List<Category> children) {
        this.children = children;
    }
} 